import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

const Login =()=>import("@/components/Login.vue")
const Home =()=>import("@/components/Home.vue")
const WelCome=()=>import("@/components/WelCome.vue")
const Users=()=>import("@/components/user/Users.vue")
const Rights=()=>import("@/components/power/Rights")
const Roles=()=>import("@/components/power/Roles")
const Cate=()=>import("@/components/goods/Cate")
const Goods=()=>import("@/components/goods/Goods")
const Params=()=>import("@/components/goods/Params")
const Add=()=>import("@/components/goods/Add")
const Order=()=>import("@/components/order/Order")
const Report=()=>import("@/components/report/Report")



const routes = [
  {
    path:"/",
    redirect:"/login"
  },
  {
    path:"/login",
    component:Login
  },
  {
    path:"/home",
    component:Home,
    // 只要你访问了home组件就让你重定向到welcome组件
    redirect:'/welcome',
    children:[
      {
        path:"/welcome",
        component:WelCome
      },
      {
        path:"/users",
        component:Users
      },
      {
        path:'/rights',
        component:Rights
      },
      {
        path:'/roles',
        component:Roles
      },
      {
        path:'/categories',
        component:Cate
      },
      {
        path:'/goods',
        component:Goods
      },
      {
        path:'/params',
        component:Params
      },
      {
        path:'/goods/add',
        component:Add
      },
      {
        path:'/orders',
        component:Order
      },
      {
        path:'/reports',
        component:Report
      }
    ]
  }
]

const router = new VueRouter({
  routes
})

// 挂载路由导航守卫
router.beforeEach((to,from,next) => {
  // to将要访问的路径
  // from代表从哪一个路径跳而来
  // next 是一个函数表示放行
  //  1.next() 放行， 2 next('/login')  强制跳转

  // if(to.path === '/login') return next()
  if(to.path === '/login'){
   return next();
  }
  // 获取token
 const tokenStr= window.sessionStorage.getItem("token")
  if(!tokenStr){
    return next('/login')
  }
  next()
})
export default router
